/**
 * BaseApplicationInfo.java
 * Product:BaseLayer
 * Version:1.0
 * Copyright 2009 by DNE
 * All Rights Reserved.
 */
package com.site.util.base.po;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.persistence.Version;

import org.hibernate.annotations.OptimisticLocking;

/**
 * 所有的po都必须继承此类
 * 如果需要增加一些公用字段，只需在此类中添加即可
 */
@MappedSuperclass
@OptimisticLocking
public class BaseApplicationInfo implements Serializable {
 
	private static final long serialVersionUID = -3338815178260241166L;
	//创建日期
	protected Date createdDate;
	//更新日期
	protected Date modifiedDate;
	//创建人
	protected String createdUser;
	//更新人
	protected String updatedUser;
	//版本号
	protected Integer version = 0;
	
	//是否删除
	protected String markDelete = "N";
	
	@Column (name="CREATED_DATE")
	public Date getCreatedDate() {
		return createdDate;
	}

	public void setCreatedDate(Date createdDate) {
		this.createdDate = createdDate;
	}
	@Column (name="MODIFIED_DATE")
	public Date getModifiedDate() {
		return modifiedDate;
	}

	public void setModifiedDate(Date modifiedDate) {
		this.modifiedDate = modifiedDate;
	}
	@Column (name="CREATED_USER")
	public String getCreatedUser() {
		return createdUser;
	}

	public void setCreatedUser(String createdUser) {
		this.createdUser = createdUser;
	}
	@Column (name="UPDATED_USER")
	public String getUpdatedUser() {
		return updatedUser;
	}

	public void setUpdatedUser(String updatedUser) {
		this.updatedUser = updatedUser;
	}
	@Version
	@Column (name="VERSION_ID")
	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}
	@Column (name="MARK_DELETE")
	public String getMarkDelete() {
		return markDelete;
	}

	public void setMarkDelete(String markDelete) {
		this.markDelete = markDelete;
	}
}
